home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / console_struct.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  5KB  |  119 lines

  1. /*
  2.  * console_struct.h
  3.  *
  4.  * Data structure describing single virtual console except for data
  5.  * used by vt.c.
  6.  *
  7.  * Fields marked with [#] must be set by the low-level driver.
  8.  * Fields marked with [!] can be changed by the low-level driver
  9.  * to achieve effects such as fast scrolling by changing the origin.
  10.  */
  11.  
  12. struct vt_struct;
  13.  
  14. #define NPAR 16
  15.  
  16. struct vc_data {
  17.     unsigned short    vc_num;            /* Console number */
  18.     unsigned int    vc_cols;        /* [#] Console size */
  19.     unsigned int    vc_rows;
  20.     unsigned int    vc_size_row;        /* Bytes per row */
  21.     unsigned int    vc_scan_lines;        /* # of scan lines */
  22.     unsigned long    vc_origin;        /* [!] Start of real screen */
  23.     unsigned long    vc_scr_end;        /* [!] End of real screen */
  24.     unsigned long    vc_visible_origin;    /* [!] Top of visible window */
  25.     unsigned int    vc_top, vc_bottom;    /* Scrolling region */
  26.     const struct consw *vc_sw;
  27.     unsigned short    *vc_screenbuf;        /* In-memory character/attribute buffer */
  28.     unsigned int    vc_screenbuf_size;
  29.     /* attributes for all characters on screen */
  30.     unsigned char    vc_attr;        /* Current attributes */
  31.     unsigned char    vc_def_color;        /* Default colors */
  32.     unsigned char    vc_color;        /* Foreground & background */
  33.     unsigned char    vc_s_color;        /* Saved foreground & background */
  34.     unsigned char    vc_ulcolor;        /* Color for underline mode */
  35.     unsigned char    vc_halfcolor;        /* Color for half intensity mode */
  36.     /* cursor */
  37.     unsigned int    vc_cursor_type;
  38.     unsigned short    vc_complement_mask;    /* [#] Xor mask for mouse pointer */
  39.     unsigned short    vc_s_complement_mask;    /* Saved mouse pointer mask */
  40.     unsigned int    vc_x, vc_y;        /* Cursor position */
  41.     unsigned int    vc_saved_x, vc_saved_y;
  42.     unsigned long    vc_pos;            /* Cursor address */
  43.     /* fonts */    
  44.     unsigned short    vc_hi_font_mask;    /* [#] Attribute set for upper 256 chars of font or 0 if not supported */
  45.     struct console_font vc_font;        /* Current VC font set */
  46.     unsigned short    vc_video_erase_char;    /* Background erase character */
  47.     /* VT terminal data */
  48.     unsigned int    vc_state;        /* Escape sequence parser state */
  49.     unsigned int    vc_npar,vc_par[NPAR];    /* Parameters of current escape sequence */
  50.     struct tty_struct *vc_tty;        /* TTY we are attached to */
  51.     /* mode flags */
  52.     unsigned int    vc_charset    : 1;    /* Character set G0 / G1 */
  53.     unsigned int    vc_s_charset    : 1;    /* Saved character set */
  54.     unsigned int    vc_disp_ctrl    : 1;    /* Display chars < 32? */
  55.     unsigned int    vc_toggle_meta    : 1;    /* Toggle high bit? */
  56.     unsigned int    vc_decscnm    : 1;    /* Screen Mode */
  57.     unsigned int    vc_decom    : 1;    /* Origin Mode */
  58.     unsigned int    vc_decawm    : 1;    /* Autowrap Mode */
  59.     unsigned int    vc_deccm    : 1;    /* Cursor Visible */
  60.     unsigned int    vc_decim    : 1;    /* Insert Mode */
  61.     unsigned int    vc_deccolm    : 1;    /* 80/132 Column Mode */
  62.     /* attribute flags */
  63.     unsigned int    vc_intensity    : 2;    /* 0=half-bright, 1=normal, 2=bold */
  64.     unsigned int    vc_underline    : 1;
  65.     unsigned int    vc_blink    : 1;
  66.     unsigned int    vc_reverse    : 1;
  67.     unsigned int    vc_s_intensity    : 2;    /* saved rendition */
  68.     unsigned int    vc_s_underline    : 1;
  69.     unsigned int    vc_s_blink    : 1;
  70.     unsigned int    vc_s_reverse    : 1;
  71.     /* misc */
  72.     unsigned int    vc_ques        : 1;
  73.     unsigned int    vc_need_wrap    : 1;
  74.     unsigned int    vc_can_do_color    : 1;
  75.     unsigned int    vc_report_mouse : 2;
  76.     unsigned int    vc_kmalloced    : 1;
  77.     unsigned char    vc_utf        : 1;    /* Unicode UTF-8 encoding */
  78.     unsigned char    vc_utf_count;
  79.          int    vc_utf_char;
  80.     unsigned int    vc_tab_stop[8];        /* Tab stops. 256 columns. */
  81.     unsigned char   vc_palette[16*3];       /* Colour palette for VGA+ */
  82.     unsigned short * vc_translate;
  83.     unsigned char     vc_G0_charset;
  84.     unsigned char     vc_G1_charset;
  85.     unsigned char     vc_saved_G0;
  86.     unsigned char     vc_saved_G1;
  87.     unsigned int    vc_bell_pitch;        /* Console bell pitch */
  88.     unsigned int    vc_bell_duration;    /* Console bell duration */
  89.     struct vc_data **vc_display_fg;        /* [!] Ptr to var holding fg console for this display */
  90.     unsigned long    vc_uni_pagedir;
  91.     unsigned long    *vc_uni_pagedir_loc;  /* [!] Location of uni_pagedir variable for this console */
  92.     struct vt_struct *vc_vt;
  93.     /* additional information is in vt_kern.h */
  94. };
  95.  
  96. struct vc {
  97.     struct vc_data *d;
  98.  
  99.     /* might add  scrmem, vt_struct, kbd  at some time,
  100.        to have everything in one place - the disadvantage
  101.        would be that vc_cons etc can no longer be static */
  102. };
  103.  
  104. extern struct vc vc_cons [MAX_NR_CONSOLES];
  105.  
  106. #define CUR_DEF        0
  107. #define CUR_NONE    1
  108. #define CUR_UNDERLINE    2
  109. #define CUR_LOWER_THIRD    3
  110. #define CUR_LOWER_HALF    4
  111. #define CUR_TWO_THIRDS    5
  112. #define CUR_BLOCK    6
  113. #define CUR_HWMASK    0x0f
  114. #define CUR_SWMASK    0xfff0
  115.  
  116. #define CUR_DEFAULT CUR_UNDERLINE
  117.  
  118. #define CON_IS_VISIBLE(conp) (*conp->vc_display_fg == conp)
  119.